#include <iostream>
#include <unistd.h>
#include <signal.h>
#include <stdlib.h>
using namespace std;

int cnt = 0;

void handler(int signo)
{
    cout << "get a signal : " << signo << ", alarm : " << cnt++ << endl;
    exit(0);
}

int main()
{
    signal(14, handler);
    alarm(1);
    while(true)
    {
        cnt++;
    }
    return 0;
}


// int main()
// {
//     alarm(1);
//     while(true)
//     {
//         cout << "alarm : " << cnt++ << endl;
//     }
//     return 0;
// }

// void handler(int signo)
// {
//     cout << "get a signal : " << signo << "alarm : " << cnt++ << endl;
//     exit(0);
// }

// int main()
// {
//     signal(14, handler);
//     alarm(1);
//     while(true)
//     {
//         cnt++;
//     }
//     return 0;
// }

//上面两组代码说明了访问外设的效率很低(机器在远端，打印到显示器+打印到网络)
//这就是为啥要有缓冲区！！